use sea_orm_migration::prelude::*;

#[derive(DeriveMigrationName)]
pub struct Migration;

#[async_trait::async_trait]
impl MigrationTrait for Migration {
    async fn up(&self, manager: &SchemaManager) -> Result<(), DbErr> {
        manager.alter_table(
          Table::alter()
            .table(ImMessage::Table)
            .add_column(ColumnDef::new(ImMessage::TimeBlock).big_integer())
            .to_owned()
        ).await?;

        Ok(())
    }

    async fn down(&self, manager: &SchemaManager) -> Result<(), DbErr> {
        manager.alter_table(
          Table::alter()
            .table(ImMessage::Table)
            .drop_column(ImMessage::TimeBlock)
            .to_owned()
        ).await?;

        Ok(())
    }
}

#[derive(DeriveIden)]
enum ImMessage {
    Table,
    TimeBlock,
}
